package file.listener.observer;

import file.model.FileModel;

import java.util.ArrayList;
import java.util.List;

/**
 * 数的管理者
 * @Author: zou
 * @email: 704572528@qq.com
 * @Date: 2020/10/29 13:42
 */
public class TreeManager {

    private List<TreeObserver> treeObserversList = new ArrayList<>();

    /**
     * 添加观察者
     * @param treeObserver
     */
    public void addTreeObserver (TreeObserver treeObserver) {

        if (treeObserver == null) {
            return;
        }
        treeObserversList.add(treeObserver);
    }

    /**
     * 移除观察者
     * @param treeObserver
     */
    public void removeTreeObserver (TreeObserver treeObserver) {
        if (treeObserver == null) {
            return;
        }
        treeObserversList.remove(treeObserver);
    }

    /**
     * 通知所有的观察者
     * @param fileModel
     */
    public void notifyTreeObserver (FileModel fileModel) {
        treeObserversList.forEach(s-> s.choickNode(fileModel));
    }

}
